Wilfrid Cariou, Nantes, le 22 mai 2017, BY-NC-SA
"Dplyr est une bibliothèque conçue pour simplifier les tâches de traitement de données quotidiennes portant sur des tableaux de données, à la fois en mémoire et hors-mémoire".
" Une évolution du package 'reshape2' conçue pour pour la mise en ordre des données et fonctionnant avec les "pipes" de dplyr".
gather, spread)separate, unique)drop_na, fill, replace_na)select)filter)group by)summarise)mutate)arrange)bind_rows, fonctions de jointure (ex: inner_join))bind_cols)Dplyr 0.2 (mai 2014, package magrittr)
L'objet situé à gauche de l'opérateur %>% est utilisé comme premier argument de la fonction située à droite de l'opérateur.
filter(voyages, ptdepimp =="Nantes")
voyages %>% filter(ptdepimp =="Nantes")
avec l'opérateur %>%
voyages %>% filter(ptdepimp =="Nantes") %>% count(yearam) %>% select(1:5) # %>% etc...
Le piping operator peut être lu comme "ensuite" ou "puis".
"La base de données The Trans-Atlantic Slave Trade Database renferme des informations sur près de 36 000 expéditions de traite qui ont embarqué de force plus de 10 millions d'Africains à destination des Amériques entre le seizième et le dix-neuvième siècles."
Voyages, The Trans-Atlantic Slave Trade Database,
Repéré à http://slavevoyages.org/
1999, The Trans-Atlantic Slave Trade Database (Voyages dataset) :
- 27 233 expéditions.
- Publication sur cédérom
" La mise en ligne est l'occasion pour les chercheurs du monde entier de poursuivre leurs contributions et de corriger les erreurs qu'ils pourraient trouver."
Emory University http://slavevoyages.org/
## Observations: 34,946 ## Variables: 27 ## $ voyageid <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16... ## $ shipname <chr> "Pastora de Lima", "Tibério", "Paquete Real", "Bom Ca... ## $ natinimp <chr> "Portugal / Brazil", "Portugal / Brazil", "Portugal /... ## $ placcons <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ yrcons <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ placreg <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ yrreg <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ rig <chr> "Bergantim", "Bergantim", "Bergantim", "Bergantim", "... ## $ tonnage <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ tonmod <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ guns <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownera <chr> NA, "Chaves, Domingos Pires dos Santos*", "Gomes, Ant... ## $ ownerb <chr> NA, NA, NA, NA, NA, NA, NA, "Carvalho, Agostinho Luís... ## $ ownerc <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, "Moreira*", NA, N... ## $ ownerd <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownere <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerf <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerg <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerh <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ owneri <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerj <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerk <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerl <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerm <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownern <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownero <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ownerp <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
## Observations: 34,946 ## Variables: 5 ## $ fate <chr> "Sold slaves in Americas - subsequent fate unknown"... ## $ fate2 <chr> "Slaves disembarked in Americas", "Slaves disembark... ## $ fate3 <chr> "Not captured", "Not captured", "Not captured", "No... ## $ fate4 <chr> "Delivered slaves for original owners", "Delivered ... ## $ resistance <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## Observations: 34,946 ## Variables: 20 ## $ ptdepimp <chr> "Rio de Janeiro", "Bahia, port unspecified", "Bahia... ## $ plac1tra <chr> "Mozambique", "Mozambique", "Cabinda", "Quilimane",... ## $ plac2tra <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ plac3tra <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ mjbyptimp <chr> "Mozambique", "Mozambique", "Cabinda", "Quilimane",... ## $ npafttra <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ sla1port <chr> "Bahia, port unspecified", "Bahia, port unspecified... ## $ adpsale1 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ adpsale2 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ mjslptimp <chr> "Bahia, port unspecified", "Bahia, port unspecified... ## $ portret <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ deptregimp <chr> "Southeast Brazil", "Bahia", "Bahia", "Bahia", "Bah... ## $ regem1 <chr> "Southeast Africa and Indian Ocean islands", "South... ## $ regem2 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ regem3 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ majbyimp <chr> "Southeast Africa and Indian Ocean islands", "South... ## $ regdis1 <chr> "Bahia", "Bahia", "Bahia", "Bahia", "Bahia", "Bahia... ## $ regdis2 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ regdis3 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,... ## $ mjselimp <chr> "Bahia", "Bahia", "Bahia", "Bahia", "Bahia", "Bahia...
## Observations: 34,946 ## Variables: 7 ## $ yearam <int> 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 18... ## $ datedep <date> 1816-08-04, 1816-07-11, 1816-09-19, 1816-07-06, N... ## $ datebuy <date> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ dateleftafr <date> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ dateland1 <date> 1817-01-16, 1817-01-17, 1817-01-17, 1817-02-27, 1... ## $ datedepam <date> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ dateend <date> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
## Observations: 34,946 ## Variables: 10 ## $ captaina <chr> "Dias, Manoel José", "Mata, José Maria da", "Ferreira... ## $ captainb <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ captainc <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ crew1 <int> NA, 30, 28, NA, NA, NA, NA, NA, NA, 29, NA, 22, NA, 3... ## $ crew3 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ crewdied <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ slintend <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ncar13 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ncar15 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ ncar17 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
## Observations: 34,946 ## Variables: 15 ## $ slaximp <int> 404, 246, 405, 381, 578, 557, 234, 413, 368, 481, 195... ## $ slaarriv <int> 290, 223, 350, 342, 516, 515, 204, 374, 345, 478, 180... ## $ slas32 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ slas36 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ slas39 <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ slamimp <int> 290, 223, 350, 342, 516, 515, 204, 374, 345, 478, 180... ## $ menrat7 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ womrat7 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ boyrat7 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ girlrat7 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ malrat7 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ chilrat7 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ jamcaspr <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N... ## $ vymrtimp <int> 114, NA, 55, 39, NA, NA, NA, NA, 23, 3, NA, 138, NA, ... ## $ vymrtrat <dbl> 0.28217800, NA, 0.13580200, 0.10236200, NA, NA, NA, N...
## Observations: 34,946 ## Variables: 18 ## $ sourcea <chr> "PP,1845,XLIX:593-633", "PP,1845,XLIX:593-633", "PP,18... ## $ sourceb <chr> "IDO,1817.02.07.", "IDO,1817.02.07.", "IDO,1817.02.07.... ## $ sourcec <chr> "GRJ,07/08/1816", "AHMS, 27,4, p.63", "AHMS, 27.2, p. ... ## $ sourced <chr> "CapelaNotes", NA, NA, "AHU,Moçambique,Cx 151 No 91", ... ## $ sourcee <chr> "AHU,Moçambique,Cx 151 No 108", NA, NA, NA, NA, NA, NA... ## $ sourcef <chr> NA, NA, NA, NA, NA, NA, NA, "IDO, 12/08/1817", NA, NA,... ## $ sourceg <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourceh <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcei <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcej <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcek <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcel <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcem <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcen <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourceo <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcep <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourceq <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ sourcer <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA...
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(shipname)
## # A tibble: 5 x 1 ## shipname ## <chr> ## 1 Duc de Bretagne ## 2 César ## 3 Duc de Bretagne ## 4 Duc de Luxembourg ## 5 Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(5)
## # A tibble: 5 x 1 ## shipname ## <chr> ## 1 Duc de Bretagne ## 2 César ## 3 Duc de Bretagne ## 4 Duc de Luxembourg ## 5 Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(1, 3, shipname)
## # A tibble: 5 x 3 ## voyageid yearam shipname ## <int> <int> <chr> ## 1 30002 1709 Duc de Bretagne ## 2 30003 1709 César ## 3 30015 1711 Duc de Bretagne ## 4 32465 1719 Duc de Luxembourg ## 5 33748 1686 Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(2:4)
## # A tibble: 5 x 3 ## slaximp yearam ptdepimp ## <int> <int> <chr> ## 1 592 1709 Nantes ## 2 275 1709 Nantes ## 3 316 1711 Nantes ## 4 105 1719 Le Havre ## 5 105 1686 Bordeaux
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(-2)
## # A tibble: 5 x 4 ## voyageid yearam ptdepimp shipname ## <int> <int> <chr> <chr> ## 1 30002 1709 Nantes Duc de Bretagne ## 2 30003 1709 Nantes César ## 3 30015 1711 Nantes Duc de Bretagne ## 4 32465 1719 Le Havre Duc de Luxembourg ## 5 33748 1686 Bordeaux Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(shipname, ptdepimp, voyageid, yearam, slaximp)
## # A tibble: 5 x 5 ## shipname ptdepimp voyageid yearam slaximp ## <chr> <chr> <int> <int> <int> ## 1 Duc de Bretagne Nantes 30002 1709 592 ## 2 César Nantes 30003 1709 275 ## 3 Duc de Bretagne Nantes 30015 1711 316 ## 4 Duc de Luxembourg Le Havre 32465 1719 105 ## 5 Saint-Jean Baptiste Bordeaux 33748 1686 105
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(4, 3, 2, 1, 5)
## # A tibble: 5 x 5 ## ptdepimp yearam slaximp voyageid shipname ## <chr> <int> <int> <int> <chr> ## 1 Nantes 1709 592 30002 Duc de Bretagne ## 2 Nantes 1709 275 30003 César ## 3 Nantes 1711 316 30015 Duc de Bretagne ## 4 Le Havre 1719 105 32465 Duc de Luxembourg ## 5 Bordeaux 1686 105 33748 Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% select(yearam, 1:5)
## # A tibble: 5 x 5 ## yearam voyageid slaximp ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 1709 30002 592 Nantes Duc de Bretagne ## 2 1709 30003 275 Nantes César ## 3 1711 30015 316 Nantes Duc de Bretagne ## 4 1719 32465 105 Le Havre Duc de Luxembourg ## 5 1686 33748 105 Bordeaux Saint-Jean Baptiste
Aide-mémoire "Remaniement des données avec dplyr et tidyr", RStudio, 2015
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% arrange(yearam)
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 33748 105 1686 Bordeaux Saint-Jean Baptiste ## 2 30002 592 1709 Nantes Duc de Bretagne ## 3 30003 275 1709 Nantes César ## 4 30015 316 1711 Nantes Duc de Bretagne ## 5 32465 105 1719 Le Havre Duc de Luxembourg
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% arrange(desc(slaximp)) # première écriture (desc)
demo <- dataset %>% arrange(-slaximp) # seconde écriture (signe moins)
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30015 316 1711 Nantes Duc de Bretagne ## 3 30003 275 1709 Nantes César ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
betsey_ship
## # A tibble: 15 x 5 ## voyageid yearam shipname captaina captainb ## <int> <int> <chr> <chr> <chr> ## 1 17359 1755 Betsey Venes, William Mctaggart, James ## 2 17612 1766 Betsey Jones, William Matthews ## 3 17638 1767 Betsey Maxwell, Basil Chilcott, John ## 4 36689 1799 Betsey Woodman, Richard Williams, Daniel ## 5 36723 1800 Betsey Whitney, Dan Baleman ## 6 75145 1775 Betsey Haycraft, Samuel Good, Js ## 7 77067 1773 Betsey Barber, Robert Aird ## 8 80514 1789 Betsey Forbes, James Campion, John ## 9 80518 1793 Betsey Doyle, William Kent, Richard ## 10 80520 1796 Betsey Armstrong, David Mosson, Edward ## 11 90530 1755 Betsey Jenkinson, Charles Sechverall, Sam ## 12 91178 1766 Betsey Cooke, Elliot Millroy, William ## 13 91445 1770 Betsey Conway, Samuel Parkinson ## 14 91530 1770 Betsey Babcock, Elias Cawson, David ## 15 91845 1772 Betsey Conway, Samuel Stephenson, William
demo <- betsey_ship %>% gather(captaina, captainb, key="statut", value="captain") %>% arrange(captain)
## # A tibble: 30 x 5 ## voyageid yearam shipname statut captain ## <int> <int> <chr> <chr> <chr> ## 1 77067 1773 Betsey captainb Aird ## 2 80520 1796 Betsey captaina Armstrong, David ## 3 91530 1770 Betsey captaina Babcock, Elias ## 4 36723 1800 Betsey captainb Baleman ## 5 77067 1773 Betsey captaina Barber, Robert ## 6 80514 1789 Betsey captainb Campion, John ## 7 91530 1770 Betsey captainb Cawson, David ## 8 17638 1767 Betsey captainb Chilcott, John ## 9 91445 1770 Betsey captaina Conway, Samuel ## 10 91845 1772 Betsey captaina Conway, Samuel ## # ... with 20 more rows
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% filter (ptdepimp == "Nantes")
## # A tibble: 3 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% filter (ptdepimp == "Nantes" | ptdepimp =="Bordeaux")
## # A tibble: 4 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 33748 105 1686 Bordeaux Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>%
filter(grepl("Duc", shipname))
## # A tibble: 3 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30015 316 1711 Nantes Duc de Bretagne ## 3 32465 105 1719 Le Havre Duc de Luxembourg
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% filter (!ptdepimp == "Nantes")
## # A tibble: 2 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 32465 105 1719 Le Havre Duc de Luxembourg ## 2 33748 105 1686 Bordeaux Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>%
filter(!grepl("Bretagne", shipname))
## # A tibble: 3 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30003 275 1709 Nantes César ## 2 32465 105 1719 Le Havre Duc de Luxembourg ## 3 33748 105 1686 Bordeaux Saint-Jean Baptiste
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% filter(yearam == 1709)
## # A tibble: 2 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César
demo <- dataset %>% filter(slaximp >= 100 & slaximp <= 300)
## # A tibble: 3 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30003 275 1709 Nantes César ## 2 32465 105 1719 Le Havre Duc de Luxembourg ## 3 33748 105 1686 Bordeaux Saint-Jean Baptiste
chantier <- c("Brest", "Paimboeuf", "Quimper")
liste_chantiers <- voyages %>%
filter(placcons %in% chantier)
## # A tibble: 16 x 105 ## voyageid shipname natinimp placcons yrcons placreg yrreg ## <int> <chr> <chr> <chr> <int> <chr> <chr> ## 1 465 Félicie France Paimboeuf 1824 Nantes <NA> ## 2 2336 Eclair France Paimboeuf 1825 Nantes <NA> ## 3 2416 Félicité France Paimboeuf 1824 <NA> <NA> ## 4 2749 Etincelle France Paimboeuf 1823 <NA> <NA> ## 5 2802 Angèlique France Paimboeuf 1825 <NA> <NA> ## 6 2823 Rose France Paimboeuf 1824 <NA> <NA> ## 7 2836 Bienfaisant France Paimboeuf 1816 <NA> <NA> ## 8 2869 Bonne Aline France Paimboeuf 1804 <NA> <NA> ## 9 32881 Diligent France Brest 1720 <NA> <NA> ## 10 32899 Diligent France Brest 1720 <NA> <NA> ## 11 34308 Edouard France Quimper 1820 <NA> <NA> ## 12 34488 Bonne Mère (a) Bluette France Paimboeuf 1823 <NA> <NA> ## 13 34495 Clarisse France Paimboeuf 1824 <NA> <NA> ## 14 34531 Philippe France Paimboeuf 1825 <NA> <NA> ## 15 34532 Philippe France Paimboeuf 1825 <NA> <NA> ## 16 34553 Bienfaisant France Paimboeuf 1816 <NA> <NA> ## # ... with 98 more variables: rig <chr>, tonnage <int>, tonmod <dbl>, ## # guns <int>, ownera <chr>, ownerb <chr>, ownerc <chr>, ownerd <chr>, ## # ownere <chr>, ownerf <chr>, ownerg <chr>, ownerh <chr>, owneri <chr>, ## # ownerj <chr>, ownerk <chr>, ownerl <chr>, ownerm <chr>, ownern <chr>, ## # ownero <chr>, ownerp <chr>, fate <chr>, fate2 <chr>, fate3 <chr>, ## # fate4 <chr>, resistance <chr>, ptdepimp <chr>, plac1tra <chr>, ## # plac2tra <chr>, plac3tra <chr>, mjbyptimp <chr>, npafttra <chr>, ## # sla1port <chr>, adpsale1 <chr>, adpsale2 <chr>, mjslptimp <chr>, ## # portret <chr>, deptregimp <chr>, regem1 <chr>, regem2 <chr>, ## # regem3 <chr>, majbyimp <chr>, regdis1 <chr>, regdis2 <chr>, ## # regdis3 <chr>, mjselimp <chr>, retrnreg <chr>, yearam <int>, ## # datedep <date>, datebuy <date>, dateleftafr <date>, dateland1 <date>, ## # datedepam <date>, dateend <date>, voy1imp <int>, voy2imp <int>, ## # captaina <chr>, captainb <chr>, captainc <chr>, crew1 <int>, ## # crew3 <int>, crewdied <int>, slintend <int>, ncar13 <chr>, ## # ncar15 <chr>, ncar17 <chr>, slaximp <int>, slaarriv <int>, ## # slas32 <int>, slas36 <int>, slas39 <int>, slamimp <int>, ## # menrat7 <dbl>, womrat7 <dbl>, boyrat7 <dbl>, girlrat7 <dbl>, ## # malrat7 <dbl>, chilrat7 <dbl>, jamcaspr <chr>, vymrtimp <int>, ## # vymrtrat <dbl>, sourcea <chr>, sourceb <chr>, sourcec <chr>, ## # sourced <chr>, sourcee <chr>, sourcef <chr>, sourceg <chr>, ## # sourceh <chr>, sourcei <chr>, sourcej <chr>, sourcek <chr>, ## # sourcel <chr>, sourcem <chr>, sourcen <chr>, sourceo <chr>, ## # sourcep <chr>, sourceq <chr>, sourcer <chr>
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% filter(slaximp == 100 & ptdepimp == "Bordeaux")
demo <- dataset %>% filter(slaximp == 100) %>% filter (ptdepimp == "Bordeaux")
demo <- dataset <- voyages %>% filter(ptdepimp=="Dunkerque") %>% arrange(shipname) %>% select(voyageid, yearam, shipname)
## # A tibble: 20 x 3 ## voyageid yearam shipname ## <int> <int> <chr> ## 1 34077 1819 Amitié ## 2 31858 1767 Barbançon ## 3 900036 1793 Benjamin ## 4 31870 1776 Comte d'Artois ## 5 31842 1723 Comte de Toulouse ## 6 31862 1766 Comtesse de Brionne ## 7 31866 1769 Comtesse de Brionne ## 8 31876 1784 Coureur ## 9 31875 1784 Dame Elisabeth ## 10 33894 1684 Diligente ## 11 31856 1764 Douce Marianne ## 12 31879 1790 Duc d'Orléans ## 13 31871 1776 Duc de Choiseul ## 14 31853 1764 Épreuve ## 15 31867 1772 Espérance ## 16 31869 1775 Espérance ## 17 31848 1750 Flore ## 18 31873 1778 Flore ## 19 31845 1735 Fortune ## 20 31844 1729 Galère du Détroit
demo <- dataset <- voyages %>% filter(ptdepimp=="Dunkerque") %>% distinct(shipname) %>% arrange(shipname)
## # A tibble: 20 x 1 ## shipname ## <chr> ## 1 Amitié ## 2 Barbançon ## 3 Benjamin ## 4 Comte d'Artois ## 5 Comte de Toulouse ## 6 Comtesse de Brionne ## 7 Coureur ## 8 Dame Elisabeth ## 9 Diligente ## 10 Douce Marianne ## 11 Duc d'Orléans ## 12 Duc de Choiseul ## 13 Épreuve ## 14 Espérance ## 15 Flore ## 16 Fortune ## 17 Galère du Détroit ## 18 Hirondelle ## 19 Jalousie ## 20 Jupiter
demo <- voyages %>%
filter(ptdepimp=="Nantes") %>%
drop_na(yrcons) %>%
distinct(shipname) %>%
arrange(shipname) %>%
filter(!grepl("^A[cd]",shipname)) # Débuter à Africain
## # A tibble: 122 x 1 ## shipname ## <chr> ## 1 Africain ## 2 Aimable ## 3 Aimable Henriette ## 4 Alcide ## 5 Alcyon ## 6 Alfred ## 7 Aline ## 8 Alphonse ## 9 Amériquain ## 10 Amis ## # ... with 112 more rows
library(tidyr)
demo <- voyages %>%
filter(ptdepimp=="Nantes") %>%
drop_na(yrcons) %>%
distinct(shipname, yrcons) %>%
arrange(shipname) %>%
filter(!grepl("^A[cd]",shipname)) # Débuter à Africain
## # A tibble: 131 x 2 ## shipname yrcons ## <chr> <int> ## 1 Africain 1824 ## 2 Africain 1825 ## 3 Aimable 1817 ## 4 Aimable Henriette 1815 ## 5 Aimable Henriette 1822 ## 6 Aimable Henriette 1823 ## 7 Alcide 1821 ## 8 Alcyon 1825 ## 9 Alfred 1825 ## 10 Aline 1825 ## # ... with 121 more rows
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% summarise(avg_slaximp = mean(slaximp))
## # A tibble: 1 x 1 ## avg_slaximp ## <dbl> ## 1 278.6
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- dataset %>% summarise(avg_slaximp = mean(slaximp), sum_slaximp= sum(slaximp))
## # A tibble: 1 x 2 ## avg_slaximp sum_slaximp ## <dbl> <int> ## 1 278.6 1393
## # A tibble: 5 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 30002 592 1709 Nantes Duc de Bretagne ## 2 30003 275 1709 Nantes César ## 3 30015 316 1711 Nantes Duc de Bretagne ## 4 32465 105 1719 Le Havre Duc de Luxembourg ## 5 33748 105 1686 Bordeaux Saint-Jean Baptiste
demo <- voyages %>% filter(ptdepimp=="Nantes") %>% summarise_each(funs(mean), slaximp, slamimp)
## # A tibble: 1 x 2 ## slaximp slamimp ## <dbl> <dbl> ## 1 NA NA
demo <- voyages %>% filter(ptdepimp=="Nantes") %>% drop_na(slaximp, slamimp) %>% summarise_each(funs(mean), slaximp, slamimp)
## # A tibble: 1 x 2 ## slaximp slamimp ## <dbl> <dbl> ## 1 318.2405 273.7321
demo <- voyages %>% filter(ptdepimp=="Nantes") %>% summarise_each(funs(mean(., na.rm = TRUE)), slaximp, slamimp)
## # A tibble: 1 x 2 ## slaximp slamimp ## <dbl> <dbl> ## 1 317.49 273.7321
library(dplyr) group_demo1 <- voyages %>% select(voyageid, slaximp, yearam, ptdepimp, shipname) %>% filter(ptdepimp =="Nantes"| ptdepimp =="Bordeaux" | ptdepimp =="Le Havre") %>% group_by(ptdepimp) %>% sample_n(3)
## Source: local data frame [9 x 5] ## Groups: ptdepimp [3] ## ## # A tibble: 9 x 5 ## voyageid slaximp yearam ptdepimp shipname ## <int> <int> <int> <chr> <chr> ## 1 31536 600 1765 Bordeaux Liberté ## 2 31669 584 1786 Bordeaux Fanny ## 3 31553 169 1768 Bordeaux Vaillant ## 4 32724 372 1787 Le Havre Comte de Mercy ## 5 32487 290 1737 Le Havre Phénix ## 6 32575 420 1772 Le Havre Princesse d'Angole ## 7 30482 150 1743 Nantes Aurore ## 8 30778 369 1765 Nantes Saint Martin ## 9 30941 320 1771 Nantes Marie Séraphique
group_demo2 <-voyages %>% filter(ptdepimp =="Nantes"| ptdepimp =="Bordeaux" | ptdepimp =="Le Havre") %>% drop_na(slaximp) %>% group_by(ptdepimp) %>% summarise(sum_slaximp = sum(slaximp))
## # A tibble: 3 x 2 ## ptdepimp sum_slaximp ## <chr> <int> ## 1 Bordeaux 134465 ## 2 Le Havre 142503 ## 3 Nantes 541638
group_demo3 <-voyages %>% filter(ptdepimp =="Nantes"| ptdepimp =="Bordeaux" | ptdepimp =="Le Havre") %>% count(ptdepimp)
## # A tibble: 3 x 2 ## ptdepimp n ## <chr> <int> ## 1 Bordeaux 443 ## 2 Le Havre 452 ## 3 Nantes 1732
## # A tibble: 45 x 3 ## yearam slaximp slaximp_cumul ## <int> <int> <int> ## 1 1684 316 316 ## 2 1685 144 460 ## 3 1713 316 776 ## 4 1715 262 1038 ## 5 1716 270 1308 ## 6 1719 211 1519 ## 7 1722 237 1756 ## 8 1723 386 2142 ## 9 1729 191 2333 ## 10 1735 96 2429 ## # ... with 35 more rows
## Source: local data frame [9 x 11] ## Groups: majbyimp [9] ## ## # A tibble: 9 x 11 ## majbyimp `Basse-Terre` `Cap Français` ## * <chr> <int> <int> ## 1 Bight of Benin NA 1 ## 2 Gold Coast NA 2 ## 3 Other Africa NA 2 ## 4 Senegambia and offshore Atlantic NA 1 ## 5 Sierra Leone NA 1 ## 6 Southeast Africa and Indian Ocean islands NA 1 ## 7 West Central Africa and St. Helena NA 6 ## 8 Windward Coast NA NA ## 9 <NA> 2 1 ## # ... with 8 more variables: `Cuba, port unspecified` <int>, `Martinique, ## # port unspecified` <int>, `Port-au-Prince` <int>, `Port-de-Paix` <int>, ## # `Saint-Domingue, port unspecified` <int>, `Saint-Marc` <int>, `Zion ## # Hill` <int>, `<NA>` <int>